﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace MDIDemo.Windows.Report
{
    public partial class frmBaoCaoNXTonHang : DevExpress.XtraEditors.XtraForm
    {
        Dictionary<string, object> _valueList = new Dictionary<string, object>();

        public Dictionary<string, object> ValueList
        {
            get { return _valueList; }
            set { _valueList = value; }
        }
        DataSet _ds = null;
        public DataSet DataSource { get { return _ds; } }
        public string Type
        {
            get
            {
                return "NX-TON";
            }

        }

        public frmBaoCaoNXTonHang()
        {
            InitializeComponent();
        }

        private void btnDong_Click(object sender, EventArgs e)
        {
            Close();
        }
        public DataSet BuildDataSourceNXHD()
        {
            string query = @"SELECT     MAHANG, TENHANG, DVTINH
FROM         TONHANG

SELECT     LOAICT, MAHANG, SUM(SOLUONG) AS SOLUONG, SUM(TIENVON) AS TIENVON
FROM         NXHOADON
WHERE     (NGAYGD < '{0:yyyy-MM-dd}') AND (LOAICT = 'N-GTGT' OR LOAICT = 'X-GTGT')
GROUP BY LOAICT, MAHANG

SELECT     LOAICT, MAHANG, SUM(SOLUONG) AS SOLUONG, SUM(TIENVON) AS TIENVON
FROM         NXHOADON
WHERE     (NGAYGD >= '{0:yyyy-MM-dd}' and NGAYGD < '{1:yyyy-MM-dd} 23:00:00') AND (LOAICT = 'N-GTGT' OR LOAICT = 'X-GTGT')
GROUP BY LOAICT, MAHANG

SELECT     LOAICT, MAHANG, SUM(SOLUONG) AS SOLUONG, SUM(TIENVON) AS TIENVON
FROM         NXHOADON
WHERE     (NGAYGD <= '{1:yyyy-MM-dd} 23:00:00') AND (LOAICT = 'N-GTGT' OR LOAICT = 'X-GTGT')
GROUP BY LOAICT, MAHANG";

            query = string.Format(query, txtDateF.EditValue, txtDateT.EditValue);
            BUS.CommonControl ctr = new BUS.CommonControl();
            _ds = ctr.executeSelectQueries(query);
            return _ds;
        }
        private void btnPrint_Click(object sender, EventArgs e)
        {
            _ds = BuildDataSourceNXHD();
           
            if (_ds.Tables.Count == 0)
            {
                XtraMessageBox.Show("Dữ liệu không tồn tại!");
                return;
            }
            bool isdata = false;
            foreach (DataTable dt in _ds.Tables)
            {
                if (dt.Rows.Count > 0)
                {
                    isdata = true;
                    break;
                }
            }
            if (isdata == false)
            {
                XtraMessageBox.Show("Dữ liệu không tồn tại!");
                return;
            }
            _valueList.Add("DateF", txtDateF.EditValue);
            _valueList.Add("DateT", txtDateT.EditValue);
            DialogResult = System.Windows.Forms.DialogResult.OK;
            Close();
        }

        private void frmBangKeGTGT_Load(object sender, EventArgs e)
        {
            txtDateF.EditValue = new DateTime(frmMain.__ngayMoSo.Year, frmMain.__ngayMoSo.Month, 1);
            txtDateT.EditValue = frmMain.__ngayMoSo;
        }
    }
}